package com.jt.controller;

import com.jt.pojo.ItemCat;
import com.jt.pojo.User;
import com.jt.service.ItemCatService;
import com.jt.vo.SysResult;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.List;

@RestController
@CrossOrigin
@RequestMapping("/itemCat")
public class ItemCatController {
    @Autowired
    private ItemCatService itemCatService;
    /*
     * 需求:查询3级商品分类信息
     * URL:/findItemCatList
     * 请求参数:
     * 返回值:SysResult对象
     * */
    @GetMapping("/findItemCatList/{level}")
    public SysResult findItemCatList(@PathVariable Integer level){
        List<ItemCat>findItemCatList = itemCatService.findItemCatList(level);
        return SysResult.success(findItemCatList);
    }

    /*
     * 需求:修改商品分类状态
     * URL: /status/{id}/{status}   put
     * 请求参数:
     * 返回值:SysResult对象
     * */
    @PutMapping("/status/{id}/{status}")
    public SysResult updateStatus(ItemCat itemCat){
        itemCatService.updateStatus(itemCat);
        return SysResult.success();
    }

    /*
     * 需求:商品分类新增
     * URL: /saveItemCat   post
     * 请求参数:表单数据
     * 返回值:SysResult对象
     * */
    @PostMapping("/saveItemCat")
    public SysResult saveItemCat(@RequestBody ItemCat itemCat){
        //状态 赋默认值
        itemCatService.saveItemCat(itemCat);
        return SysResult.success();
    }

    /*
     * 需求:商品分类修改
     * URL: /updateItemCat   put
     * 请求参数:表单数据 ItemCat对象
     * 返回值:SysResult对象
     * */
    @PutMapping("updateItemCat")
    public SysResult updateItemCat(@RequestBody ItemCat itemCat){
        itemCatService.updateItemCat(itemCat);
        return SysResult.success();
    }

    /*
     * 需求:商品分类删除
     * URL: /deleteItemCat   delete
     * 说明:当删除节点为父级时,应该删除自身和所有的子节点
     * 请求参数:表单数据 ItemCat对象
     * 返回值:SysResult对象
     * */
    @DeleteMapping("/deleteItemCat")
    public SysResult deleteItemCat(ItemCat itemCat){
        itemCatService.deleteItemCat(itemCat);
        return SysResult.success();
    }

}
